package modelo;

import java.util.Vector;

public class Usuario {

	private String nombre;
	private String apellido;
	private int dni;
	private String domicilio;
	private int telefono;
	private boolean borrado;
	private Linea lineaPrincipal;
	private Vector<LineaAdicional> lineasAdicioneles;

	public Usuario(int dni, String nombre, String apellido, boolean borrado) {
		this.dni = dni;
		this.nombre = nombre;
		this.apellido = apellido;
		this.borrado = borrado;
		this.domicilio = "";
		this.telefono = 0;

	}

	public Usuario(int dni, String nombre, String apellido, String domicilio,
			boolean borrado) {
		this.dni = dni;
		this.nombre = nombre;
		this.apellido = apellido;
		this.domicilio = domicilio;
		this.borrado = borrado;
		this.telefono = 0;
	}

	public Usuario(int dni, String nombre, String apellido, String domicilio,
			int telefono, boolean borrado) {
		this.dni = dni;
		this.nombre = nombre;
		this.apellido = apellido;
		this.domicilio = domicilio;
		this.telefono = telefono;
		this.borrado = borrado;
		lineaPrincipal = null;
		lineasAdicioneles = new Vector<LineaAdicional>();

	}

	public Linea getLineaPrincipal() {
		return lineaPrincipal;
	}

	public void setLineaPrincipal(Linea lineaPrincipal) {
		this.lineaPrincipal = lineaPrincipal;
	}

	public Vector<LineaAdicional> getLineasAdicioneles() {
		return lineasAdicioneles;
	}

	public void setLineasAdicioneles(Vector<LineaAdicional> lineasAdicioneles) {
		this.lineasAdicioneles = lineasAdicioneles;
	}

	public void agregarLineaPrincipal(Linea lineaPrincipal) {
		this.lineaPrincipal = lineaPrincipal;
	}

	public void agregarLineaAdicional(LineaAdicional lineaAdicional) {
		lineasAdicioneles.add(lineaAdicional);
	}

	public boolean tieneLineaPrincipal() {

		if (lineaPrincipal == null || lineaPrincipal.isBorrado()) {
			return false;
		} else
			return true;

	}

	public int cantidadLineaAdicional() {
		return lineasAdicioneles.size();
	}

	public boolean isBorrado() {
		return borrado;
	}

	public void setBorrado(boolean borrado) {
		this.borrado = borrado;
	}

	public int getTelefono() {
		return telefono;
	}

	public void setTelefono(int telefono) {
		this.telefono = telefono;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public int getDni() {
		return dni;
	}

	public void setDni(int dni) {
		this.dni = dni;
	}

	public String getDomicilio() {
		return domicilio;
	}

	public void setDomicilio(String domicilio) {
		this.domicilio = domicilio;
	}

	public UsuarioView obtenerUsuarioView() {
		
		return new UsuarioView(dni, nombre, apellido, domicilio, telefono,
				borrado, lineasAdicioneles, lineaPrincipal);
	}
	
	
	public Vector toVector(){
		Vector v = new Vector();
		UsuarioView uv = new UsuarioView(dni, nombre, apellido, domicilio, telefono,
				borrado, lineasAdicioneles, lineaPrincipal);
		v.add(uv.getDni());
		v.add(uv.getNombre());
		v.add(uv.getApellido());
		v.add(uv.getDomicilio());
		v.add(uv.getTelefono());
		return v;
	}
	
	
	
	
}
